package com.jindy.module.transfer.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jindy.common.annotation.Excel;
import com.jindy.common.core.domain.BaseEntity;
import com.jindy.module.transferProduct.domain.SyTransferProductT;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.Date;
import java.util.List;

/**
 * 库存调拨产品对象 sy_transfer_product_t
 * 
 * @author jindy
 * @date 2023-04-12
 */
@Data
public class TransferApprovedResult extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 库存调拨单号 */
    @Excel(name = "库存调拨单号")
    private String serialNum;

    /** 调拨日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调拨日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date repTransferDate;

    /** 负责人id */
    @Excel(name = "负责人id")
    private Long responsibleId;

    /** 负责人 */
    @Excel(name = "负责人")
    private String responsibleName;

    /** 调出仓库编号 */
    @Excel(name = "调出仓库编号")
    private String outRepertoryNo;

    /** 调出仓库 */
    @Excel(name = "调出仓库")
    private String outRepertory;

    /** 调出仓库负责人id */
    @Excel(name = "调出仓库负责人id")
    private Long outRepertoryId;

    /** 调出仓库负责人 */
    @Excel(name = "调出仓库负责人")
    private String outRepertoryName;

    /** 调入仓库 */
    @Excel(name = "调入仓库")
    private String inRepertory;

    /** 调入仓库编号 */
    @Excel(name = "调入仓库编号")
    private String inRepertoryNo;

    /** 调入仓库负责人id */
    @Excel(name = "调入仓库负责人id")
    private Long inRepertoryId;

    /** 调入仓库负责人 */
    @Excel(name = "调入仓库负责人")
    private String inRepertoryName;

    /** 物流状态 */
    @Excel(name = "物流状态")
    private String logisticsStatus;

    /** 物流类型 */
    @Excel(name = "物流类型")
    private String logisticsType;

    /** 状态 */
    @Excel(name = "状态")
    private String dataState;

    /** 机器出入库状态 */
    @Excel(name = "机器出入库状态")
    private String equipmentStatus;

    /**
     * 产品
     */
    private List<SyTransferProductT> syTransferProductTList;

    /** 业务表状态 */
    @Excel(name = "业务表状态")
    private String businessStatus;


    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("serialNum", serialNum)
                .append("repTransferDate", repTransferDate)
                .append("responsibleId", responsibleId)
                .append("responsibleName", responsibleName)
                .append("outRepertoryNo", outRepertoryNo)
                .append("outRepertory", outRepertory)
                .append("outRepertoryId", outRepertoryId)
                .append("outRepertoryName", outRepertoryName)
                .append("inRepertory", inRepertory)
                .append("inRepertoryNo", inRepertoryNo)
                .append("inRepertoryId", inRepertoryId)
                .append("inRepertoryName", inRepertoryName)
                .append("logisticsStatus", logisticsStatus)
                .append("dataState", dataState)
                .append("syTransferProductTList", syTransferProductTList)
                .append("businessStatus", businessStatus)
                .toString();
    }
}
